The present invention relates to a data capture system 10 illustrated in FIG. 1 for entering data at a plurality of remote locations using means such as a plurality of portable data collection terminals 12a, b - - - n. The data capture system 10 is applicable to receive and collect a wide variety of data and has found particular application in warehouses or retail store where a data capture system 10 would be used to keep an up-to-date record of the products to be marketed. Typically, the system 10 would be capable of updating on a real time basis the inventory count of products, and to use stock locator data to identify where each product of the remaining inventory is stored, when a product is moved from one place to another, and which employee has current charge of that product. In addition, when a product is sold, the price and sales person who sold the product are recorded.
Such data may be inputted into a terminal 12 by means of its keyboard 13. For example, a terminal user could count the number of one type of product and enter that number via the terminal's keyboard 13. Alternatively, data could be entered to the terminal 10 via a CCD bar code scanner 22, which is electrically coupled by a cable 20 to its terminal 12. In an illustrative embodiment of this invention, the scanner as illustratively identified in FIG. 1 by the numeral 22a and its terminal 12a could take the form of that modular scanner/terminal described in PCT international application WO90/16033 published Dec. 27, 1990. Differing types of scanners 22b and 22n could also be used with the terminals 12 and may illustratively take the form of those scanners described in U.S. Pat. Nos. 4,970,379 of Danstrom, U.S. Pat. No. 4,882,476 of White, U.S. Pat. No. 4,894,523 of Chadima, U.S. Pat. No. 4,877,949 of Danielson et al., U.S. Pat. No. 5,019,669 of Adams et al. and U.S. Pat. No. 4,924,462 of Sojka; International application No. PCT/US90/03282 of Koenck et al.; and European Patent Publication No. 0 353 759 of Mahany et al.
The data capture system 10 utilizes illustratively RF transmission to bilaterally transmit data between each of the plurality of terminals 12a, b - - - n and a base radio transceiver 14. By way of example, the base radio transceiver may illustratively take the form of that model RB3000 base radio transceiver manufactured by Norand Corporation, Cedar Rapids of Iowa. In turn, the base radio transceiver 14 is connected via a communications multiplexer 16a or a communications controller 16b to a host computer 18. Illustratively, the multiplexer 16a could take the form of that model RM3200 as manufactured by Norand Corporation and the controller 16b could take the form of that controller identified as model RC2250 of Norand Corporation. The host computer 18 may illustratively be an International Business Machines Corporation PC of AT class or higher. As illustrated in FIG. 1, the host computer 18 includes a keyboard 28, a display 24 and a system unit 26.
Each of the portable data collection terminals 12a, b - - - n includes a transceiver (not shown in FIG. 1) for transmitting RF messages to and from the base radio transceiver 14. A transmitted message comprises an initialization sequence, an address indicative of the particular terminal 12a, b- or n from or to which the message is directed, a message identifier and system information, the message data and/or control commands, error control, and an end of message indication. U.S. Pat. Nos. 4,910,794; 4,924,462; and 4,940,974, each assigned to the assignee of this invention and incorporated herein by reference, provide further information on RF data collection terminals and systems.
In a RF data capture system similar to that shown in FIG. 1 known as the RT1200 system of Norand Corporation, controlled RF transmission between a plurality of terminals and a radio base is established using a communications multiplexer similar to that of the multiplexer 16a shown in FIG. 1 to provide access to a particular one of the terminals 12a, b - - - n. The RT1200 system utilizes time division multiplexing on a single frequency channel. The RT1200 communications protocol is based on a sequential polling method that transmits a query addressed to each portable terminal in succession, and allows a specified amount of time for the addressed terminal to respond when the addressed terminal has a data message ready for transmission. U.S. Pat. No. 4,940,974 describes an improved, adaptive data communications system wherein the base radio transceiver 14 transmits a multi-terminal polling signal to each of its terminals 12a, b - - - n. That multi-terminal polling signal defines a series of successive response time slots in which the terminals 12 may randomly select to respond. A terminal 12 having a message to be transmitted to the host computer 18 via the base radio transceiver 14 transmits a brief response burst in the selected time slot giving its own unique identification address. After receiving the responses from the ready terminals 12, the base radio transceiver 14 polls each of the responding terminals 12, ignoring those terminals without messages to be transmitted. This system is adaptive in that the number of time slots may be changed depending upon the number of active terminals ready to transmit data messages.
The present invention is particularly related to adapting such data capture system 10 as shown in FIG. 1 to employ distributed processing concepts. Each of the portable data collection terminals 12 has a computer processing capability in the illustrative form of a microprocessor, whereby the entire system's processing capability may be distributed between the host computer 18 and the portable terminals 12. The system 10 is structured in accordance with a client/server architecture whereby the host computer 18 acts as a server to each of the plurality of client terminals 12, whereby programs may be dynamically loaded across that RF (or any serial) data link established between the host computer 18 and its terminals 12.
The use of distributed processing is enhanced by relational database technology and the use of Structured Query Language (SQL) developed by the International Business Machines Company to provide access to relational databases. The use of relational database technology depends on organizing data in tables (or relations); each row of the table represents a record and each column represents an attribute. Various operations may be performed on these relations and, since the mathematics of these operations is very well understood, the results are predictable. An example of these operations is the "join", where two or more relations may be put together based on some common attribute. The advantage of this organization is that data may be easily retrieved in a form not envisioned by the designers; that is, ad hoc retrievals are quite easy to perform.
A further concept of distributed processing is to partition the system so that data is available to all network users but the data physically resides where it is most likely to be processed. This provides universal access without incurring severe communication overhead penalties. In the context of the data capture system 10 illustrated in FIG. 1, data is made available to each of the terminals 12 and to the host computer 18 by the use of the RF transmission between each of terminals 12 and the base radio transceiver 14. However, employing the concept of distributed processing would direct that more data and application programs be stored within each of the terminals 12, where such data is used or such programs executed. As a result, overhead penalties, primarily in terms of delays as would occur by the transmission of data between the terminals 12 and its host computer 18 are avoided.
In a client/server model, the server provides a general function to several client processes. Some of the more useful implementations of this concept are distributed databases, remote procedure calls and networked pipes. The distributed databases currently rely on some form of communication through Structured Query Language (SQL). These databases are comprised of front-end applications and a database server. The application interacts with the user. When database access is required, the application sends an SQL request to the database server which services the request across a network. This allows most of the processing to be done locally, but provides for a central data store that may be shared by many distributed users.
The remote procedure call concept allows systems to become specialized servers so that many applications may use their specialized hardware. To access these remote services, the application program makes a procedure call that is like any procedure call to the program's code. The difference is that the call results in a request to a remote system to provide the computation designated by the call.
The concept of "pipes" relates to supplying the output of one process to the input of another process. If the two processes are on different computers then this becomes a method of distributed processing. A variant of this method is the named pipe which allows select output to be input to another process over a named connection. This is the primary method of distributed inter-process communications with an OS/2 LAN Manager.
The efficient transmission of data to a remote terminal of a system is key to distributed processing. IBM's solution is their Distributed Data Management (DDM) protocols. These are a set of published IBM protocols that describe how to access files and databases on a remote system. IBM also developed a System application Architecture (SAA) with common programming interfaces for program access to remote data on IBM SAA compliant systems. The importance of these protocols (which use LU 6.2 protocols for inter-system communication) is that a remote system such as a PC may access IBM host databases and files without having to program the host computer.
Remote data access in the non-IBM world is also becoming standard. The Network File System (NFS.TM.)protocols (developed by Sun Microsystems but placed in the public domain) may be used to access or create files on any system running an NFS server. Novell Corporation is also providing similar services to a wide range of systems with its portable Netware.TM..
In current data capture systems employing a plurality of remote terminals 12, the application program is run in the centrally disposed host computer 18 for real time control of the remote terminals 12. Placing control in the host computer 18 increases significantly the hardware and software complexity forcing the host computer 18 to run multiple processes. Such application programs residing in the host computer 18 are complicated by the need to assure the concurrent control over shared data. Further, the host computer 18 must be fast enough to service all remote terminals 12 in real time. In such current data capture systems, the host computer 18 must normally validate data entry by the user and must respond to all user input, thus requiring significant amounts of data to be sent back and forth over an RF link between each of the terminals 10 and its host computer 18 as well as increasing the number of data transition session between the host computer 18 and its terminals 12.
The present invention is related to the use of distributed processing concepts in a RF data capture system 10 as generally shown in FIG. 1 and, in particular, to improve the efficiency of such overall systems by improving the speed and efficiency of data transmission over the RF link between each of the terminals 12a, b - - - n and the base radio transceiver 14.